<?php session_start();

function getHabitacao($cod, $tipo){
	$campo1 = "id_habitacao";
	$campo2 = "num_habitacao";
	$campo3 = "tp_habitacao";
	//$campo4 = "lotacao"; removido dia 16-06-2009 ( campo utilizado somente como espelho da tp_habitacao, se precisar utilize da outra tabela)
	$campo5 = "id_bloco";
	$campo6 = "id_hostel";
	$campo7 = "leitos_extra";
	$tabela = "hostel_habitacao";


	switch ($tipo){
		case "input":
			$sql="select $campo1, $campo2, $campo3, $campo5, $campo6, $campo7 from $tabela where $campo1=$cod";
			$linha=$_SESSION['ADOCnn']->Execute("$sql");
			$codigo = $linha->fields[0];
			$nome = htmlentities(trim($linha->fields[1]));

			$contatena = $codigo."()".$nome."()".$linha->fields[2]."()".$linha->fields[3]."()".$linha->fields[4]."()".$linha->fields[5];

			$retorno = explode("()",$contatena);
			return $retorno;

			break;

			/* add o session id hostel
			case "select":
			$sql="select $campo1, $campo2 from $tabela order by $campo2 asc";
			$linha=$_SESSION['ADOCnn']->Execute("$sql");
			if($linha->RecordCount() != 0 ){
			while(!$linha->EOF){
			$codigo = $linha->fields[0];
			$nome =htmlentities(trim($linha->fields[1]));
			if($codigo == $cod){
			echo"<option value='$codigo' selected class='select'>$nome</option>\n";
			}else{
			echo"<option value='$codigo'>$nome</option>\n";
			}
			$linha->MoveNext();
			}
			}
			break;
			*/
			
		case "select_lotacao":
			$sql="select $campo4, $campo7 from $tabela where $campo2=$cod";
			//echo $sql;
			$linha=$_SESSION['ADOCnn']->Execute("$sql");
			$num = $linha->fields[0];
			$extra = htmlentities(trim($linha->fields[1]));

			$contatena = $num."()".$extra;

			$retorno = explode("()",$contatena);
			return $retorno;

			break;			
		case "lista":
			$sql="
			select 
				a.num_habitacao, 
				a.tp_habitacao, 
				b.ds_bloco,
				a.id_habitacao,
				a.leitos_extra
			from 
				$tabela a
				inner join hostel_bloco b on (a.id_bloco = b.id_bloco)
			where 
				(a.id_hostel = {$_SESSION["ID_HOSTEL_"]} )
			order by 
				a.id_bloco asc, a.num_habitacao";
			//echo"<pre>$sql</pre>";

			$linha=$_SESSION['ADOCnn']->Execute("$sql");
			$class="odd";

			if($linha->RecordCount() != 0 ){

				require_once"funcoes/hostel_tp_habitacao.jsp";

				echo"<br><br><table class='perfil2 semborda'>
				     <tr class='titulo'>				     	    
							<td colspan='6'>Habita&ccedil;&otilde;es / Quartos Montados</td>
					 </tr>
					 <tr class='titulo'>				     	    
							<td>&nbsp;</td>
							<td width='18%'>Bloco</td>
							<td width='10%'>N&uacute;mero da Habita&ccedil;&atilde;o</td>
							<td>Tipo de Habita&ccedil;&atilde;o</td>							
							<td>No Leitos Extra</td>
							<td>&nbsp;</td>
					 </tr>
					 
					 ";

				while(!$linha->EOF){
					if($class == "odd"){$class="even";}else{$class="odd";}

					$bloco_ant		 = $bloco;
					$num_habitacao	 = $linha->fields[0];
					$tp_habitacao	 = getTpHabitacao(trim($linha->fields[1]), "tipos");
					$bloco 			 = $linha->fields[2];
					$leitos_extra	 = $linha->fields[4];


					if ($bloco_ant != $bloco) {
						echo"<tr class='$class'><td>&nbsp;</td><td colspan='7'><u> $bloco</u></td></tr>";
					}
					echo"<tr class='$class'>
							<td>&nbsp;</td>
							<td>&nbsp;</td>
							<td align='center'><b>$num_habitacao</b></td>
							<td>$tp_habitacao</td>
							<td align='center'><u>$leitos_extra</u></td>
							<td align='right'><a href='index.jsp?pcodigo={$linha->fields[3]}&alt=12'><img src='images/btn_alterar_pq.gif' border='0'></a></td>
						 </tr>	
							";


					$linha->MoveNext();
				}
				echo "</table>";
			}
			break;

	}
}







function setHabitacao($cod, $num_habitacao, $tp_habitacao, $lotacao, $id_bloco, $id_hostel, $leitos_extra) {

	$campo1 = "id_habitacao";
	$campo2 = "num_habitacao";
	$campo3 = "tp_habitacao";
	$campo4 = "lotacao"; 
	$campo5 = "id_bloco";
	$campo6 = "id_hostel";
	$campo7 = "leitos_extra";
	$tabela = "hostel_habitacao";

	require_once"funcoes/hostel_cama.jsp";

	if($cod == 0){ // novo registro


		$sql="
                    insert into $tabela
                    ($campo2, $campo3, $campo4, $campo5, $campo6, $campo7)
                    values
                    ('$num_habitacao', '$tp_habitacao', '$lotacao', '$id_bloco', '$id_hostel', '$leitos_extra')                    
                    ";

		//echo"<pre>$sql</pre>"; exit;

		if(!$exec=$_SESSION['ADOCnn']->Execute("$sql")){
			die("<div class='erro'>ERRO no cadastro de ".exibeNomeTabela($tabela)."</div>");
		}else{
			echo"<div class='sucesso'>Habita&ccedil;&atilde;o N&uacute;mero: $num_habitacao foi cadastrada com sucesso!</div>";
			$id_gravado = $_SESSION['ADOCnn']->_insertid();

			for ($n=1; $n <= $lotacao; $n++){
				setCama(0,$id_gravado,$id_hostel);
			}


		}

	}else{ // atualiza


		$num_camas 			= getCama($cod,"count");
		$num_camas_inativas = getCama($cod,"count_inativas");

		$num_camas_ativas   = (int)($num_camas - $num_camas_inativas);
		$dif 	   			=  abs(($lotacao - $num_camas));



		$sql="
                    update $tabela set
                    $campo2='$num_habitacao',
                    $campo3='$tp_habitacao',
                    $campo4='$lotacao',
                    $campo5='$id_bloco',
                    $campo6='$id_hostel',
                    $campo7='$leitos_extra'
                    where
                    $campo1 = $cod
                    ";

		//echo"<pre>$sql</pre>"; exit;

		if(!$exec=$_SESSION['ADOCnn']->Execute("$sql")){
			die("<div class='erro'>ERRO na altera&ccedil;&atilde;o de ".exibeNomeTabela($tabela)."</div>");
		}else{
			echo"<div class='sucesso'>Habita&ccedil;&atilde;o N&uacute;mero: $num_habitacao foi alterada com sucesso!</div>";





			if ((int)$lotacao > (int)$num_camas_ativas) {


				$novas_camas = ($lotacao - $num_camas);

				if ($novas_camas > 0 ) {

					for ($n=1; $n <= $dif; $n++){
						setCama(0,$cod,$id_hostel);
					}


					$reativar_camas = ($lotacao - ($num_camas_ativas + abs($novas_camas)));

					if ($reativar_camas > 0) {
						setCamaStatus(1, "(id_habitacao = $cod) and (status = 0) order by id_cama desc limit 0, $reativar_camas");
					}


				}elseif ($novas_camas < 0 ) {
					
					$reativar_camas = ($lotacao - $num_camas_ativas);

					if ($reativar_camas > 0) {
						setCamaStatus(1, "(id_habitacao = $cod) and (status = 0) order by id_cama desc limit 0, $reativar_camas");
					}
					
					
					
				}elseif ($novas_camas == 0 ) {
					
					$reativar_camas = ($lotacao - $num_camas_ativas);

					if ($reativar_camas > 0) {
						setCamaStatus(1, "(id_habitacao = $cod) and (status = 0) order by id_cama desc limit 0, $reativar_camas");
					}
					
					
				}


			}elseif ((int)$lotacao < (int)$num_camas_ativas) {

				setCamaStatus(0, "(id_habitacao = $cod) order by id_cama asc limit 0, $dif");

			}elseif ((int)$lotacao == (int)$num_camas_ativas) {
				
				echo"<div class='sucesso'>N&uacute;mero de Camas n&atilde;o foi alterado!</div>";
				
			}




		}
	}




}





function delHabitacao($cod, $verifica=true){

	$campo1 = "id_habitacao";
	$campo2 = "num_habitacao";
	$campo3 = "tp_habitacao";
	//$campo4 = "lotacao"; removido dia 16-06-2009
	$campo5 = "id_bloco";
	$campo6 = "id_hostel";
	$campo7 = "leitos_extra";
	$tabela = "hostel_habitacao";

	$deleta=1;
	/*
	if($verifica){
	$sql="select tombo, titulo from bibl_midias  where ref_idioma=$cod order by tombo";
	$linha=$_SESSION['ADOCnn']->Execute("$sql");

	$n=0;
	if($linha->RecordCount() != 0 ){
	while(!$linha->EOF){
	if($linha->fields[0]==true){
	echo"<li><b>Tombo: {$linha->fields[0]} - {$linha->fields[1]}</b></li>";
	$deleta=0;
	$n++;
	}
	if($n==10){echo"<BR>Entre outros...<BR><div class='erro'>N�o &eacute; poss&iacute;vel excluir o &iacute;tem selecionado pois possui v&iacute;nculo com os &iacute;tens acima</div> <BR>"; break;}
	$linha->MoveNext();
	}
	}
	} // fecha verifica
	*/
	if($deleta==1){
		$sql2="delete from $tabela where $campo1 = $cod";
		//echo $sql2;
		if(!$exec2=$_SESSION['ADOCnn']->Execute("$sql2")){
			die("<div class='erro'>ERRO na exclus�o do codigo: $cod</div>");
		}else{
			echo"<div class='sucesso'>Codigo: $cod excluido com sucesso</div><BR>";
		}
	}


}


?>
